Escalation management and journey mining

ABSTRACT

The journeys and/or timelines of multiple customers may be used in escalation management and/or journey mining. An event of interest, pertaining to an issue or an incident, on a timeline may be used in the escalation management and/or journey mining. Escalation management is directed to addressing and resolving incidents, problems, and customer situations which could result in a high level of customer dissatisfaction or damage to a service provider&#39;s reputation, using the appropriate response and/or resources. Journey mining is directed to using patterns across customers and their journeys to determine where things in the journey went differently than what was expected.

CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY CLAIM

This application is a divisional of and claims priority to U.S. patentapplication Ser. No. 17/130,125, filed on Dec. 22, 2020, also titled“ESCALATION MANAGEMENT AND JOURNEY MINING”.

BACKGROUND

In any customer-focused industry the success of a business depends uponthe entirety of the customer journey. Today, data points representingevents along a customer journey may be recorded in a database, and thesedata points can be aggregated to measure key performance indicators(KPIs) essential to assessing enterprise performance, but the rootcauses driving those KPIs cannot be directly ascertained from theunderlying data. This is because root causes are contained withinjourneys (sets of heterogeneous, inter-related events unfolding overtime), and simple aggregations of data points, and even machine learningupon those data points, cannot penetrate the complexity of true journeyanalysis.

Journeys can be defined not only by if a customer saw an ad, or when acustomer visited a website, or what a customer purchased, or even who acustomer is, but can be defined as everything the customer has everdone, how those events are related to each other in time, and who orwhat else participated in those events. Analyzing journeys requiresanalyzing all of a customer's interactions simultaneously—including thegaps between events and the state of the customer at the time theyparticipated in those events. Communicating and understanding journeysrequire new ways of visualizing and interacting with data which conveythis enormous complexity in a form which is intuitive to non-analyticalusers.

Conventional systems are unable to deliver such functions. Whilemarketing teams can monitor KPIs, track trends, “slice and dice” resultson a current snapshot or aggregation of the marketing or othercustomer-related data, this offers only a limited (and oftenout-of-date) view of a limited subset of available data. For instance,they know what total sales per period are and drill down in multipledimensions, they can identify who are the most profitable customers orfollow, for example, the Net Promoter Score (NPS); however, it is verydifficult, if not impossible in multi-channel and multi-processorganization, to determine the customer experiences (interactions andother events that shape customers' perceptions of the brand) thatexplain trends or variation in these metrics. In reality, each customertraces a unique path through the organization—and those pathways lead todifferent results. Understanding these paths and their influence on themetric requires new capabilities to shape the customer journey andmaximize the business performance.

By transcending the silos retaining data in particular channels,processes or organizations, and by preserving the integrity of eachcustomer journey, a new world of questioning becomes possible. Forinstance, in addition to knowing what the Net Promoter Score of thecompany is, marketers may be able to effectively understand how customerinteractions influences the NPS and identify where they should takeaction and reshape the customer experience for improving the overallscore.

Accordingly, because customer journeys are behind every marketing metricand the business outcomes for which marketing teams are responsible,marketing teams need a solution specialized in revealing the storybehind each metric, what drivers influence it and how to shape thecustomer journey to maximize business value.

Escalation management is a process that deals with incidents, problems,and customer situations which could result in a high level of customerdissatisfaction or damage to a service provider's reputation. Escalationmanagement is directed to addressing and resolving these types ofproblems and issues at the right level and with the right resources.Escalation management and opportunity investigation (e.g., NPSelevation) rely on data (e.g., customer history, call transcripts,natural language processing, etc.) and data quality. Currently,escalation management and opportunity investigation (e.g., NPSelevation) are difficult to successfully and efficiently achieve.Generating actionable recommendations and validating the feasibility ofthe recommendations are difficult to perform conventionally.

It is with respect to these and other considerations that the variousaspects and embodiments of the present disclosure are presented.

SUMMARY

Systems and methods are provided that are directed to escalationmanagement and journey mining. The journeys and/or timelines of multiplecustomers may be used in escalation management and/or journey mining. Anevent of interest, pertaining to an issue or an incident, on a timelinemay be used in the escalation management and/or journey mining.Escalation management is directed to addressing and resolving incidents,problems, and customer situations which could result in a high level ofcustomer dissatisfaction or damage to a service provider's reputation,using the appropriate response and/or resources. Journey mining isdirected to using patterns across customers and their journeys todetermine where things in the journey went differently than what wasexpected.

In an implementation, a method comprises: identifying an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; determining a cause of the issue; determining an impact of theissue on other customers; and performing escalation management based onthe impact.

In an implementation, a method comprises: identifying an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; providing the timeline and the issue to a user in a graphicaluser interface of a computing device; receiving notes from the user inthe graphical user interface; annotating the timeline with the notes;and performing escalation management based on the issue.

In an implementation, a method comprises: providing a first timeline toa computing device, wherein the first timeline comprises a firstplurality of events; providing a second timeline to the computingdevice, wherein the second timeline comprises a second plurality ofevents; comparing the first timeline with the second timeline todetermine a shared incident; determining a cause of the shared incident;determining a remedial action; and outputting the remedial action.

In an implementation, a method comprises: retrieving data comprising atleast one of an event from a customer timeline, information from acustomer timeline, patterns from customer timelines, events frompatterns of customer timelines, or issues related to patterns ofcustomer timelines; building a journey using the retrieved data; andoutputting the journey.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: identify an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; determine a cause of the issue; determine an impact of the issueon other customers; and perform escalation management based on theimpact.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: identify an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; provide the timeline and the issue to a user in a graphical userinterface of a computing device; receive notes from the user in thegraphical user interface; annotate the timeline with the notes; andperform escalation management based on the issue.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: provide a first timelineto a computing device, wherein the first timeline comprises a firstplurality of events; provide a second timeline to the computing device,wherein the second timeline comprises a second plurality of events;compare the first timeline with the second timeline to determine ashared incident; determine a cause of the shared incident; determine aremedial action; and output the remedial action.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: retrieve data comprisingat least one of an event from a customer timeline, information from acustomer timeline, patterns from customer timelines, events frompatterns of customer timelines, or issues related to patterns ofcustomer timelines; build a journey using the retrieved data; and outputthe journey.

In an implementation, a system comprises: an issue identification engineconfigured to identify an issue in a timeline of a customer, wherein thetimeline comprises a plurality of events; a timeline analysis engineconfigured to determine a cause of the issue; an impact determinationengine configured to determine an impact of the issue on othercustomers; and an escalation management engine configured to performescalation management based on the impact.

In an implementation, a system comprises: an issue identification engineconfigured to identify an issue in a timeline of a customer, wherein thetimeline comprises a plurality of events, and to provide the timelineand the issue to a user in a graphical user interface of a computingdevice; a note taking engine configured to receive notes from the userin the graphical user interface; a timeline analysis engine configuredto annotate the timeline with the notes; and an escalation managementengine configured to perform escalation management based on the issue.

In an implementation, a system comprises: a computing device configuredto receive a first timeline, wherein the first timeline comprises afirst plurality of events, and to receive a second timeline, wherein thesecond timeline comprises a second plurality of events; a timelineanalysis engine configured to compare the first timeline with the secondtimeline to determine a shared incident, and to determine a cause of theshared incident; and an escalation management engine configured todetermine a remedial action, and to output the remedial action.

In an implementation, a system comprises: a timeline analysis engineconfigured to retrieve data comprising at least one of an event from acustomer timeline, information from a customer timeline, patterns fromcustomer timelines, events from patterns of customer timelines, orissues related to patterns of customer timelines; and a journey buildingengine configured to build a journey using the retrieved data, and tooutput the journey.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating theembodiments, there is shown in the drawings example constructions of theembodiments; however, the embodiments are not limited to the specificmethods and instrumentalities disclosed. In the drawings:

FIG. 1 illustrates an example visual representation of events in ajourney in accordance with the present disclosure;

FIG. 2 illustrates an example visual representation of a customerjourney across in accordance with the present disclosure;

FIG. 3 is an illustration of an exemplary environment for escalationmanagement and journey mining;

FIG. 4 is an operational flow diagram illustrating a high-level overviewof example operations performable by the system in accordance with thepresent disclosure;

FIG. 5 is an operational flow of an implementation of a method forescalation management;

FIG. 6 is an operational flow of another implementation of a method forescalation management;

FIG. 7 is an operational flow of an implementation of a method forjourney mining;

FIG. 8 illustrates an example graphical user interface in accordancewith the present disclosure;

FIG. 9 illustrates an example graphical user interface in accordancewith the present disclosure;

FIG. 10 illustrates an example graphical user interface in accordancewith the present disclosure;

FIG. 11 illustrates an example graphical user interface in accordancewith the present disclosure;

FIG. 12 illustrates an example graphical user interface in accordancewith the present disclosure;

FIG. 13 illustrates an example graphical user interface in accordancewith the present disclosure; and

FIG. 14 shows an exemplary computing environment in which exampleembodiments and aspects may be implemented.

DETAILED DESCRIPTION

The system will now be described more fully hereinafter with referenceto the included drawings, which are intended to be read in conjunctionwith this detailed description, the summary, and any preferred and/orparticular embodiments specifically discussed or otherwise disclosed.This system may, however, be embodied in many different forms and shouldnot be construed as limited to the embodiments set forth herein.Instead, these embodiments are provided by way of illustration only andso that this disclosure will be thorough, complete and will fully conveythe full scope of the invention to those skilled in the art.

This description provides examples not intended to limit the scope ofthe appended claims. The figures generally indicate the features of theexamples, where it is understood and appreciated that like referencenumerals are used to refer to like elements. Reference in thespecification to “one embodiment” or “an embodiment” or “an exampleembodiment” means that a particular feature, structure, orcharacteristic described is included in at least one embodimentdescribed herein and does not imply that the feature, structure, orcharacteristic is present in all embodiments described herein.

Further disclosed herein are components that can be used to perform thedisclosed systems and methods. These and other components are disclosedherein, and it is understood that when combinations, subsets,interactions, groups, etc., of these components are disclosed that whilespecific reference of each various individual and collectivecombinations and permutation of these may not be explicitly disclosed,each is specifically contemplated and described herein, for all systemand method. This applies to all aspects of this application including,but not limited to, steps in disclosed methods. Thus, if there are avariety of additional steps that can be performed it is understood thateach of these additional steps can be performed with any specificembodiment or combination of embodiments of the disclosed methods.

As will be appreciated by one skilled in the art, the systems andmethods described herein may take the form of an entirely hardwareembodiment, an entirely software embodiment, or an embodiment combiningsoftware and hardware aspects. Furthermore, the systems and methods maytake the form of a computer program product on a computer-readablestorage medium having computer-readable program instructions (e.g.,computer software) embodied in the storage medium (see also FIG. 14herein). In an aspect, the systems and methods may take the form ofhardware configured to perform specific steps (e.g., microcontrollers).More particularly, the present systems and methods may take the form ofweb-implemented computer software. Centrally located servers, remotelocated servers, or cloud services may implement embodiments of thepresent systems and methods. Any suitable computer-readable storagemedium may be utilized including hard disks, CD-ROMs, optical storagedevices, or magnetic storage devices.

Embodiments of the systems and methods are described herein withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses, and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general-purpose computer, computers and components found in cloudservices, or other programmable data processing apparatus to produce amachine, such that the instructions which execute on the computer orother programmable data processing apparatus create a means forimplementing the functions specified in the flowchart block or blocks.In an aspect, the computer program instructions may be loaded on aspecial purpose computer or server to carry out the functions andmethods described below.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

The systems and methods discussed in further detail herein are describedas comprised of units. One skilled in the art will appreciate that theunits are a functional description and that software, hardware, or acombination of software and hardware may perform respective functions.In one exemplary aspect, the units can comprise a computer. Thisexemplary operating environment is only an example of an operatingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of operating environment architecture.Neither should the operating environment be interpreted as having anydependency or requirement relating to any one or combination ofcomponents illustrated in the exemplary operating environment.

In an aspect, the present systems and methods can be operational withnumerous other general purpose or special purpose computing systemenvironments or configurations. Examples of well-known computingsystems, environments, and/or configurations that can be suitable foruse with the systems and methods comprise, but are not limited to,personal computers, server computers, laptop devices, cloud services,mobile devices (e.g., smart phones, tablets, and the like) andmultiprocessor systems. Additional examples comprise set top boxes,programmable consumer electronics, network PCs, minicomputers, mainframecomputers, enterprise servers, distributed computing environments thatcomprise any of the above systems or devices, and the like.

The processing of the disclosed systems and methods can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc., that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media including memory storagedevices.

As used in the specification and the appended claims, the singular forms“a,” “an” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprises” and variations of the word, such as “comprising” and“comprise,” means “including but not limited to,” and is not intended toexclude, for example, other additives, components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

In context to the embodiments of the present invention an “event” is anaction occurring at a specific point of time, such as an email beingsent. An “exclusion event” is a period of time relative to other eventswhen the event excluded must not occur, such as an email not opened fora specific duration. An “event type” defines an event category andattributes expected for the event. A “label” is a type of categoricaldata field. A “label name” is the name of the Label. A “Value” defines anumeric field in the event. A “value name” is the name of the value. A“unit” defines the unit of the Value, such as a percentage. An “eventdata field” describes a label, value, and/or unit associated with anevent. “Event taxonomy” describes organizing Events by category and intohierarchy. An “actor” is a person, place, or thing participant in anEvent. An “actor state” is a mapping and transformation of event datafield to an actor as a function of time. An “actor role” defines therole of an actor for a certain event. An “actor type” defines an Actorcategory and the actor states expected for the actor. A “trend”describes how an event, event data field or actor states change overtime. A “dropout” is the difference between the number of actors whoentered the event and the number of same Actors who entered any of theconsecutive events. A “connection” is a link between two eventsspecifying their shared actor(s) and distance in time. An “event ofinterest” is an event with metric that a user desires to analyze. A“story” is a pattern representing a set of events connected by commonactors and their relationship in time. A “journey” is a story for asingle type of actor such as a customer. A “driver” is an event thatpositively or negatively influences a particular customer journey.“Driver intensity” is a degree of positive or negative influence on themetric per occurrence, independent of number of occurrences. “Driverimpact” defines driver intensity multiplied by the number ofoccurrences. A “path” is a selection of a suite of events in a story orin a journey. A “trigger” is a selected path to be monitored at theindividual level and in real-time to detect comparable behavior andinitiate action. A “metric” provides measurements which underlinecalculations of KPI(s), in turn comprised of data drawn from event datafields and actor states within a story. A “story query” is a request inspecialist language which specifies metrics and story to gather from theplatform data set. A “result” is the metric value return from a storyquery or story execution. “Filtering/grouping” defines grouping andfiltering at any event or actor level filter or group allstory/journey/path.

FIG. 1 illustrates an example visual representation of events in ajourney 100 in accordance with the present disclosure. A customer 110proceeds along a series of events 120, 130, 140, 150, 160 along thejourney 100. An event, such as the event 140, may be an event ofinterest to a user such as an analyst or an administrator. As describedfurther herein, the events in a journey may be used to create atimeline, and/or may be comprised within a timeline. Moreover, the event140 of interest may be used in escalation management and/or journeymining.

Each customer may proceed in their own respective journey whichcomprises one or more events. None, some, or all of the events in eachcustomer's journey may be the same as the events in another customer'sjourney. The journeys and/or timelines of multiple customers may be usedin escalation management and/or journey mining, as described furtherherein.

The events representation is an aggregation of multiple independent andindividual events traced by each customer. The arrows of FIG. 1represent the customers that link two events and their relationship intime. The event of interest is the anchor from which and to the story isbuilt.

The journey 100 can take the form of a graph visualization in which thenodes of the graph represent events (e.g., the events 120, 130, 140,150, 160), and edges represent one or more customers (e.g., the customer110) in each event as well as the events' relationship in time (e.g.,event 130 follows event 120 within 30 minutes). A journey may compriseevents and customers that lays out a literal, “human-readable,” storythat occurred in real life over time. Stories may contain branchesrepresenting alternative journeys which converge upon, or diverge from,each other. An “event” is a discrete data point analogous to a row in adatabase. In certain embodiments, every event is required to have atimestamp, a specified type (e.g., a “login” or “purchase”), and atleast one customer. Although events can be used to represent recordedcustomer actions, they can also be used to represent changes to staticdata like updating or creating an address record or assigningdemographic or segmentation data. In certain embodiments, events neednot be associated with a customer. For instance, changing a productprice or placing a procurement order could also be events. In certainembodiments, events do not contain direct references to other events,but instead can share common actors which indirectly link them together.Customers are people, individuals, subjects, entities, etc. thatparticipate in an event. For example, for an event of type “purchase,”customers may include a customer, a store, an employee, and multipleproduct customers. Customers can be used by the system in a mannersimilar to how foreign keys are used in a relational database. Incertain embodiments, the customers are used as “keys” in conjunctionwith timestamps to denote relationships between events.

In certain embodiments, nodes of the graph represent patterns to filterevents. That is, nodes in the graph do not represent individual events(i.e., data points) per se. Nodes and edges represent patterns which areused together to find matching occurrences in a dataset and enableaggregation of similar patterns of events and customers.

In certain embodiments, each individual node in the graph specifies arespective filter for events in the data pool. These filters include anevent type and optionally include bounds on the timestamp andconstraints upon the parameters of the event. For instance, a node mightrepresent a filter which finds purchase events paid for by credit cardin May 2014 with a value of over $22.

Similarly, in certain embodiments, edges in a graph specify therelationships between nodes—specifically, shared customers and arelationship in time between two event patterns (nodes). This isanalogous to a “join-on” clause in a SQL statement where two sets ofdata points are joined using common foreign keys.

There are a variety of types of relationships that two events can havein time, for example: event A is before or after event B; event A iswithin a certain amount of time before and/or after event B; event A isthe most recent event before event B, or A most closely follows event B;and event A is within n events of event B.

Further details disclosing functions/operations of exemplary systems areprovided below. It is noted that the descriptions provide specificimplementations of systems that may be modified by one of ordinary skillin the art to provide similar functionality without departing from thespirit and scope of the systems disclosed herein.

FIG. 2 illustrates an example visual representation of a customerjourney 200 across in accordance with the present disclosure. Thecustomer journey 200 shown in FIG. 2 is an example of a customer journeyacross an exemplary customer life cycle. In certain embodiments, thesystem creates a taxonomy and hierarchy that categorize and group theevents, metrics and KPIs. Each group represents a step in the customerlife cycle. An event might be part of multiple taxonomies andhierarchies. For instance, the event “add to cart” can be in thefollowing categories: “Conversion”, “Web”, “Purchasing” and intodifferent hierarchy such as “Life Cycle”, “Channel” or “Sale process.”This approach allows for the visualization and analysis of the customerjourneys in different facets—from the point of view of “Life Cycle,”“Channel” or “Sale Process.”

FIG. 3 is an illustration of an exemplary environment 300 for escalationmanagement and journey mining. Escalation management is directed toaddressing and resolving incidents, problems, and customer situationswhich could result in a high level of customer dissatisfaction or damageto a service provider's reputation, using the appropriate responseand/or resources. Journey mining is directed to using patterns acrosscustomers and their journeys (and/or micro journeys) to determine wherethings in the journey(s) went differently than what was expected.Journey mining uses patterns in journeys and/or micro journeys to, forexample, reveal root causes, customer experience elevationopportunities, and variations from the nominal or expected path, as wellas to facilitate sizing of the opportunities and variations includingthe total impact upon a metric or KPI.

Journey mining can handle thousands of touchpoints across many (e.g.,over 50) data sources and wide-ranging timeframes. Journey mining canincorporate contextual data like natural language processing (NLP),event attributes, free text, and call recordings. Journey mining leadsreliably to actionable recommendations. Journey mining can identify keybehaviors at the individual customer level (e.g., escalation management)and in aggregate.

As shown in FIG. 3 , the system may be described in terms of a number ofcomponents and sub-systems allowing for the operations described hereinto be executed. As shown, an exemplary system may generally take events,customers, timelines, and/or journeys, and aggregate the data to a formuseable by the system. The system may provide capability for escalationmanagement and journey mining as described further herein.

The system can be employed in various suitable environments. Forexample, the system may be employed in consumer marketing, particularlyfollowing a customer's journey, including tracking customerinteractions, engagement, retention, loss, and reactivation. However,the data structure and processing methods may be used in any industrialapplication where it is desirable to collect data and use it formodeling and optimization. Such applications may include, but are in noway limited to, the healthcare, manufacturing, human resources,education, hospitality, bioengineering, and social services industries.

In exemplary embodiments, timestamps associated with data or metricssuch as events, customers, stories, and journeys may be collected andstored. In certain embodiments, all entries may be defined by acorresponding timestamp to allow data to be processed, analyzed, andvisualized as it relates in time to other timestamps and associateddata. Because each entry of the data structure can be defined by atimestamp and as all data related to the timestamp can be maintained ina timestamp format, the disclosure provides for a system, which incertain embodiments, collects data across all available data channelsand preserves the integrity of all data associated with a customer.

In another implementation of an exemplary system, disparate (andrelated) sources of data may be automatically gathered through batch orstreaming inputs to a database associated with the system. The systemand database may be stored in either a local server or in a remoteconfiguration, effecting a “cloud” based system, or any suitablecombination therebetween. That is, certain embodiments are not limitedto a specific storage solution or environment.

Example sources of raw or pre-processed information, which can bereceived by the system, include: email data; social media data (e.g.,feeds from Facebook, LinkedIn, Twitter, etc.); promotional material(e.g., electronic coupons); call center data; customer relationshipmanagement (CRM) data; mobile marketing data; operational data (e.g.,revenue, sales reports, etc.); and point-of-sale data (e.g., forms ofpayment, customer identity, etc.). However, in certain embodiments thesystem is not intended to be limited to a specific type of data.Instead, the system can take data used and tracked by companies indisparate and/or related systems and aggregate and/or store this data ina format that allows efficient retrieval, analysis, and representationby the system. As further described herein, data may be related throughevents, connections, customers, and stories. For example, the system mayrelate data by creating a timestamp and type for each event andassociate it with one or more customers.

As referenced above, an event is an action or observation occurring at apoint in time related to at least one customer, and an event data pointmay consist of at least a timestamp, an event type, and at least onecustomer. An event data point may also include other attributes such ascategorical, numeric, geographic, and unstructured data. Events mayshare customers. Connections relate two events to each other byspecifying shared customers and relative position in time. A story is apattern representing two or more events related via shared connections.The system may present a story visually through a graph in which thenodes of the graph generally represent events and the edges generallyrepresent connections. Journeys, which comprise one or more storiesrelated to particular types of customers, can be graphically presentedby the system in a form that allow an intuitive understanding of whatevents, event attributes, and event sequences most influence customers'outcomes so that future interactions can be optimized. The system mayalso graphically represent future actions to optimize performance.

A customer 302 performs events along a journey (e.g., the events 120,130, 140, 150, 160 along the journey 100). The events of the journey maybe stored in storage 304. Moreover, one or more timelines, such as oneor more customer timelines 306) may be stored in the storage 304.

An user 352 (who may be e.g., an analyst, a representative, employee,associate, etc. of a company) may use a user computing device 355 toaccess the storage 304 (including the customer timeline(s) 306) througha network 308. In some embodiments, the user 352 may be a virtualanalyst and not a human analyst.

A computing device 310 may be in communication with the user computingdevice 355 and the storage 304 to provide various functions, operations,capability, and/or data to the user computing device 355 (and thus theuser 352). The computing device 310 may be implemented in, or embodiedin, a desktop analysis product, in some implementations. Depending onthe implementation, an output device 398 may be in communication withthe computing device 310, in either a wired connection or a wirelessconnection.

In some implementations, a subject matter expert (SME) 392 (who iseither human or virtual) may use an SME computing device 395 tocommunicate with the user computing device 355 and the computing device310, e.g., over a network 358.

The networks 308, 358 may each be a variety of network types includingthe public switched telephone network (PSTN), a cellular telephonenetwork, and a packet switched network (e.g., the Internet). Thenetworks 308 and 358 may be the same network or may be differentnetworks depending on the implementation. Although only one usercomputing device 355, one computing device 310, one SME computing device395, one storage 304, and one output device 398 are shown in FIG. 3 ,there is no limit to the number of computing devices 310, 355, 395,storages 304, and output devices 398 that may be supported.

The user computing device 355, the SME computing device 395, thecomputing device 310, and the output device 398 may each be implementedusing a variety of computing devices such as smartphones, desktopcomputers, laptop computers, tablets, set top boxes, vehicle navigationsystems, and video game consoles. Other types of computing devices maybe supported. A suitable computing device is illustrated in FIG. 14 asthe computing device 1400.

In some implementations, the computing device 310 comprises an issueidentification engine 315, a note taking engine 320, a timeline analysisengine 325, a journey building engine 330, an impact determinationengine 335, and an escalation management engine 340. As describedfurther herein, the computing device 310 and its various engines 315,320, 325, 330, 335, 340 assist the user 352 in providing better serviceand information to the customer 302, through escalation management andjourney mining.

The issue identification engine 315 is configured to analyze one or moretimelines of one or more customers and identify one or more issuestherein. An issue may be any type of event that is predetermineddepending on the implementation. Examples of issues may include thecustomer contacting a help center, the customer discontinuing apurchase, the customer emptying shopping cart, the customer stopping thejourney for a predetermined amount of time, the customer logging off orotherwise exiting an online experience or journey.

In some implementations, a human user (as opposed to an automatedsystem) may identify an issue based on their business context applied tothe timeline(s) they are observing.

In some implementations, the human user may be augmented with artificialintelligence (AI). For example, based on prior human inputs, a machinelearning system will learn the statistical characteristics of incidentspreviously denoted as issues and use the knowledge of thesecharacteristics to identify possible issues relevant to theinvestigation at hand. The issue identification engine 315 may be fullyautomated or may provide supplemental information to the human user toaccelerate their own process of issue identification. Human interactionswith the output of the issue identification engine 315 may be furtherincorporated into the machine learning model to reinforce accurateidentification and suppress future inaccuracies. Statisticalcharacteristics may rely on features of the time series data such as:the occurrence of certain typically problematic events; specificqualities of otherwise-benign events such as their attributes,timestamps, or other metadata; or the relationship in time between twoor more events. Note that any of the above are generally eligible to beissues, even in the human-analyst context. Issues are not justconstrained to the simple occurrence of certain event types. The modelmay further incorporate attributes of the customer such as demographics.

In some implementations, the issue identification engine 315 isconfigured to retrieve the event history for a customer and render it inthe timeline visualization for the user, and also providing access tothe metadata underlying individual events via user interactions.

The issue identification engine 315 may also be configured to providefiltering of the events shown in the timelines. Filtering can be eitherinclusive or exclusive and may be a set of specific event types and/orcertain metadata about those events (for instance, only show events fromthe website, or do not show events related to internal processes).

The note taking engine 320 is configured to allow a user 352 to enternotes about a timeline, or an issue and/or an event therein, into aninterface displayed on the user computing device 355, as describedfurther herein. In some implementations, all notes are pinned to atimeline visualization, either to an event on the timeline or to a pointon the timeline in between events. Notes may be used, for example, toflag observations such as failures or successes, denote root causes andincidents, or for collaboration by addressing or assigning tasks orquestions to other users.

The timeline analysis engine 325 is configured to analyze timelines,such as by comparing timelines and analyzing timelines for patternsrelated to events in one or more journeys and identifying these patternsor events and/or issues, including root cause(s), related to theidentified patterns, as described further herein. In someimplementations, a human user (as opposed to an automated system) mayidentify one or more root causes based on their business context appliedto the timeline(s) they are observing. In the case of multipletimelines, commonalities may be determined across the timelines, by thetimeline analysis engine 325, to help narrow the search space for thehuman users when looking for potential root causes.

The timeline analysis engine 325 may be fully automated or may providesupplemental information to the human user to accelerate their ownprocess of root cause identification.

The journey building engine 330 is configured to allow a user 352 tocreate (build) a new journey using events and/or information from one ormore customer timelines and/or patterns or events and/or issues relatedto the identified patterns, as described further herein. Moreparticularly, with the journey building engine 330, the user 352 has theability to place events in an order, specify the “connection” propertiesbetween events (within a certain amount of time of each other, sharingcertain event properties, etc.), and filter the events on theirattributes/metadata. Moreover, multiple journeys can be created as anaffordance to, for example: highlight multiple journey patterns in thedisplayed timelines; import timelines from different, but related,journeys; import timelines of customers who participated in multiplejourneys.

The journey building engine 330 can be used to fetch additionaltimelines of customers who participated in the journey and add them tothe user interface for manual or automated analysis. The journeybuilding engine 330 can highlight in the timelines the occurrences ofthe journey.

In addition to using events in the visible timelines in the journey, theuser may manually add other events known to the system though notnecessarily present in the currently viewed timelines.

The impact determination engine 335 is configured to determine theimpact that the identified patterns have (or may have) on othercustomers' journeys or timelines. This allows an entity associated withthe journey or timeline(s) being analyzed to determine how wide scalethe issue(s) may be among their customer base.

In some implementations, the impact determination engine 335 can get andprovide the total count of customers who have participated in thejourney or the total number of times the journey has occurred. Theimpact determination engine 335 can provide “funnel”-type statistics ateach node in the journey providing the number and percentage ofcustomers who moved forward or completed the journey as well as thenumber of customers who dropped out at each event along the way.

The impact determination engine 335 allows for the creation of customcalculations and charts with the ability to perform aggregations andarithmetic operations to any of the attributes in the events in thejourney. The impact determination engine 335 also allows for thecreation of charts analyzing the attributes of customers whoparticipated in the journey (e.g. the number of participants by agerange, the average NPS score of customers) as well as how the mix ofthose attributes changes as customers progress through the journey.

The above functions provide the ability to quantify the impact of thejourney on cost, revenue, customer satisfaction, or any other metric.The effect is to take a pattern identified from a plurality oftimelines, get the total count of the number of customers who have hadthat same behavior pattern, and quantify how the occurrence of thatpattern corresponds with a change in any metric. This functionality canalso be used to quantify potential “silent detractors” or thosecustomers who may have had a problematic behavior/event-pattern butnever had the final resulting incident that enabled them to beflagged/counted.

The escalation management engine 340 is configured to determine and/orimplement appropriate action to remediate, plan for, and/or prevent theissue with respect to one or more individual customers and/or some orall the entity's customer base. The escalation management engine 340 hasthe ability to automatically create reports and/or deliverables from thework product produced by the other engines, most notably the note takingengine 320. Reports can then be distributed within the platform to theintended audience. Consumers of the report may also “drill into” thereport to see the underlying customer timelines and analysis.

In some implementations, the impact determination engine 335 and/or theescalation management engine 340 identifies opportunities that can beused to guide or alter the interaction towards a better outcome for themutual benefit of both the customer 302 (i.e., the end customer) and theentity (e.g., the organization) of the user 352.

Various templates can be used for the escalation managementdeliverables. The templates may be created to address the specific needsof different use cases and scenarios. Different aspects of analysis maybe included in the deliverable, such as notes, measurements, journeys,charts, customer lists, and data in free-form summary fields.

The analysis and/or the deliverable (e.g., the outputted timeline ordata from the computing device 310) may be outputted or displayed to oneor more users or user computing devices, such as the analyst computingdevice 355 and/or the output device 398. Via the graphical interface, auser 352 may ask clarifying questions or request additional analysis. Auser 352 may click into the deliverable to view the detailed underlyingdata story within the analysis.

The SME computing device 395 may be used by the SME 392 to communicatewith the user 352 (via the user computing device 355), in variousimplementations as described further herein.

It is contemplated that the system may be provided as a software as aservice (SaaS) model through a cloud-based database structure. However,other embodiments may include localized whole or partial data storage.Additionally, the precise location of processors and computersimplementing the system may vary by embodiments. In some embodiments,the entire system may reside remote to the end user (e.g., the user 352or other user or administrator associated with the entity), except forthe client (user) service device where a graphical interface isprovided—e.g., mobile phone, computer, etc., while in other embodiments,the entire system may reside local to the end user. As such, the preciselocation of the components of the system may not necessarily be criticalto an understanding of the application of the functions of the disclosedinventive system.

In some embodiments, the system 300 may receive data from one or moresources, and store the data in the storage 304 or other storageassociated with one or more of the computing devices 310, 355, 395. Thismay be done through a batch transfer of past events or real-time asprovided herein. A data manager may take the data, which can be in avariety of disparate formats, and prepare the data to be used by thesystem as described herein. For example, the data may be formatted tointerrelate details such as the time of an event, the type of an event,the subject of an event, and/or a customer performing an event. In atleast one embodiment, the data is formatted to interrelate with otherdata at least through a timestamp and identification of the event towhich the data relates. The data may then be stored in the storage 304or other data memory for efficient retrieval by one or more componentsof the system 300.

Once the data is formatted or translated into a useable format (orstored according to the system requirements), it may then be used by thesystem to provide to a user such as the user 352 via the user computingdevice 355. To do so, a client application may be provided on athird-party client device (e.g., the user computing device 355), such asa personal computer or mobile device (e.g., phone or tablet). The clientdevice may further provide a graphical interface through which a usermay interact with the system. In some embodiments, this interaction mayinvolve a user selecting specific pre-set queries provided by the systemor building additional queries based on options provided by the system.For example, through a client application on the user computing device355 (and/or the SME computing device 395), a user (such as the user 352or the SME 392) may request to see a set of events within a specifictime period that affect product or service sales over the same timeperiod, for example. The client application can then request that thesystem perform the requested query and deliver the requestedinformation, which can be provided in an intuitive graphical interfaceas provided herein. This may be done by sending the query directly tothe computing device 310. The computing device 310, in turn, may buildand run the query (performing a set of logical operations on theavailable data) to return usable results to the client application. Inaddition, the client application may also request and retrieveinformation directly from the storage 304 and/or other data memory,which can likewise be provided to the user through the graphicalinterface.

As such, the system is capable of providing an easy-to-understandgraphical interpretation of the data to relate events, customers, andstories to one another, thus providing feedback instrumental to users ofthe system.

FIG. 4 is an operational flow diagram illustrating a high-level overviewof example operations 400 performable by the system (e.g., the system300) in accordance with the present disclosure.

At 410, a system, such as that described with respect to FIG. 3 and/orFIG. 14 , receives a journey selection. Depending on the implementation,the user (e.g., an analyst) may select a previously generated journeyfrom storage, such as the storage 304, or may instruct the system tobuild a journey (e.g., using the journey building engine) as describedherein.

At 420, an analysis is initiated (e.g., selected) of the journeyselected in 410, and the analysis is run at 430. In someimplementations, the user (e.g., an analyst) may click on a start buttonon the graphical user interface to initiate the analysis at 420. At 430,the analysis is run, using the customer's data (e.g., the journey datafrom their customer's journeys) alone or in conjunction with third partydata. Such data may be stored and/or retrieved from storage (e.g., adata repository such as the storage 304) associated with the systemdescribed with respect to FIG. 3 and/or FIG. 14 , for example, dependingon the implementation. This operation may be performed by the issueidentification engine 315 and/or the timeline analysis engine 325depending on the implementation.

Features that may be analyzed include occurrence (whether the eventoccurred at least once), frequency (the number of times an eventoccurred), time interval (the amount of time between this event and themilestone event), root time interval (the amount of time between themilestone event and the target event), time cycle (cyclicality with aspecified period), etc. The journey may be analyzed to identify orotherwise determine an event that is, or may potentially be or become,an issue. In some implementations, individual customer journeys and/ortimelines (histories) are analyzed for escalation management andopportunity investigation. The analysis may include measuring and/orcomputing various metrics, comparing actions, metrics, and/or results,and annotating one or more of the customer timelines, depending on theimplementation.

In some implementations, the analysis at 430 looks at the customerhistories and their patterns and behaviors, as well as conversationflows and analysis of conversation, that led to a particular issue,event, or problem.

At 440, an output based on the analysis is generated and provided to theuser (e.g., analyst), for example. The system provides output, e.g., tothe user (analyst), via a user interface or other display or outputdevice, such as the output device 398. The output may be an event, atimeline, an issue, a journey, etc., depending on the implementation.The risk or opportunity to an entity (e.g., a business that a customerengaged with) may be determined by building journeys directly from thetimelines and may be provided as output at 440. A list of customershaving similar issues, events, or situations may be generated andoutputted at 440 for subsequent use by a user such as an analyst orentity. The output may be provided in a user interface, such as agraphical interface that a user can interact with (e.g., by reviewing,annotating, etc.).

At 450, the analyst or other user may use the results of the analysis,and then update and/or adjust the output (e.g., by annotating theoutput, etc.) and/or procedures (e.g., directed to escalationprocedures, risks, opportunities, etc.). This operation may be performedby the note taking engine 320 and/or the escalation management engine340 depending on the implementation.

At 460, the changes (i.e., the updates and/or adjustments) may bemonitored (e.g., by the user such as the analyst or the entity) todetermine their effectiveness, etc. Case management workflow may be usedto create and assign cases, track their progress, and generateactionable deliverables.

FIG. 5 is an operational flow of an implementation of a method 500 forescalation management. The method 500 may be performable by the system(e.g., the system 300) in accordance with the present disclosure.

At 510, a customer (e.g., of an entity) timeline is generated orretrieved from storage. The timeline has a series of events. Thecustomer timeline may be one of the actor timelines 306 maintained inthe storage 304, in some implementations.

At 520, the timeline is analyzed to identify one or more issues (e.g.,events that indicate a deviation from what is expected, predeterminedevents, etc.). This operation may be performed by the issueidentification engine 315 and/or the timeline analysis engine 325depending on the implementation.

At 530, the cause(s) of the issue(s) is determined. One or moreopportunities and/or risks directed to the issue(s) may be determined insome implementations. This operation may be performed by the issueidentification engine 315 and/or the timeline analysis engine 325depending on the implementation.

At 540, an impact the issue(s) may have on other customers (e.g., of theentity) is determined. This operation may be performed by the impactdetermination engine 335, in some implementations.

At 550, one or more deliverables for escalation management are generatedand output, for example, to the analyst computing device or other outputdevice. This operation may be performed by the escalation managementengine 340, in some implementations.

FIG. 6 is an operational flow of another implementation of a method 600for escalation management. The method 600 may be performable by thesystem (e.g., the system 300) in accordance with the present disclosure.

At 610, an issue with respect to an event in a customer timeline isidentified, e.g., by the issue identification engine 315. A “case”pertaining to the issue is generated and sent to an analyst, such as theuser 352. In some implementations, the case may be submitted to a queueand then later sent to a user at a predetermined time for example.

At 620, the case is accepted by the user, e.g., via the user computingdevice 355. At 630, the user reviews the case including the timeline(s)(i.e., the history represented by the data) that include the event thatindicates the issue. The user may review the case in a graphical userinterface displayed on the user computing device 355 and annotate thenotes of the case via the graphical user interface. The note takingengine 320 may facilitate the note taking and annotation of the case.

At 640, the user may use inline collaboration to discuss observationswith one or more SMEs (human subject matter experts), such as a SME 392via the SME computing device 395. Notes of the case may be furtherannotated by the user 352 via a graphical user interface provided on theuser computing device 355.

At 650, the user may identify root causes of the issue(s) and determinerisks and/or opportunities for escalation management to increasecustomer satisfaction. The user may provide this information into thecase notes or otherwise output this information.

At 660, the total impact of the issue may be determined, e.g., using theimpact determination engine 335. In an implementation, an integratedjourney builder may be used to size total impact of the issue, todetermine or estimate if the issue is a big issue that affects a lot ofcustomers.

At 670, a deliverable for escalation management is generated anddistributed or otherwise implemented, e.g., by the escalation managementengine 340.

FIG. 7 is an operational flow of an implementation of a method 700 forjourney mining. The method 700 may be performable by the system (e.g.,the system 300) in accordance with the present disclosure.

At 710, a timeline of a first customer is received or retrieved (i.e., afirst timeline), e.g., from the one or more customer timelines 306 ofthe storage 304. At 720, a timeline of a second customer is received orretrieved (i.e., a second timeline), e.g., from the one or more customertimelines 306 of the storage 304.

At 730, the first timeline and the second timeline may be displayedtogether to the user, such as displayed (e.g., pinned together) on agraphical user interface that is provided on the user computing device355.

At 740, the first timeline and the second timeline may be compared toeach other to determine a shared incident (e.g., a similar event on eachtimeline). The first customer and the second customer may have a sharedincident, such as they both call in to a call center at the same time,after the same event, at some commonality, etc. Depending on theimplementation, the shared incident may occur at approximately the samedate and time, or at different times and/or days. The comparison may beperformed by the timeline analysis engine 325 in some implementationsand/or with the user 352 and/or the user computing device 355.

At 750, it is determined what pattern(s) (e.g., common events, commonportions of the two timelines, etc.) in the two timelines led to theshared incident. In this manner, it may be determined whether there arepatterns that led to the two customers similar behavior (e.g., bothcustomers calling in to a call center or whatever shared incident theyhave). The determination may be performed by the timeline analysisengine 325 in some implementations and/or with the user 352 and/or theuser computing device 355.

At 760, remedial action directed to addressing and/or preventing theincident may be determined and outputted. The remedial actiondetermination and outputting may be performed by the escalationmanagement engine 340 in some implementations and/or with the user 352and/or the user computing device 355.

At 770, in some implementations, one or more timelines of one or moreadditional customers may be selected and added and displayed on thegraphical user interface (e.g., of the user computing device 355) and/oranalyzed. In this manner, these one or more timelines may also be pinnedwith the first and second timelines for further analysis against ashared incident. The analysis may be performed by the timeline analysisengine 325 in some implementations and/or with the user 352 and/or theuser computing device 355.

At 780, using the additional analysis of 770, additional or alternativeremedial action (to that of 760) directed to addressing and/orpreventing the incident may be determined and outputted. The remedialaction determination and outputting may be performed by the escalationmanagement engine 340 in some implementations and/or with the user 352and/or the user computing device 355.

FIG. 8 illustrates an example graphical user interface 800 in accordancewith the present disclosure. The graphical user interface 800 may bedisplayed or otherwise provided on a computing device, such as the usercomputing device 355, the SME computing device 395, the computing device310, and/or the output device, for example, depending on theimplementation.

In the example graphical user interface 800, a first timeline 810 of afirst customer 805 is shown, along with a second timeline 820 of asecond customer 815. Each timeline shows a specific customer withspecific events.

These two timelines may be considered to be pinned together here.Various events are shown in each timeline, such as the mobile welcomeevent 812 of the first timeline 810, and the mobile app informationevent of the second timeline 820. There is shown a shared incident 850,which corresponds to a call on each of the first timeline 810 and thesecond timeline 820. Patterns and/or events of the first timeline 810and/or the second timeline 820 may be determined and/or analyzed toreveal what action(s) might have led to the shared incident, and whatremedial action (e.g., escalation management) may be taken to addressthe shared incident in the present and/or in the future.

The user can pin the timelines to each other at whatever respectivepoints in time they choose, such as at a shared incident, but this isnot intended to be limiting. In some implementations, the timelines arescaled in a manner that the order of events, and relative position intime, of events across timelines (among multiple timelines) will becomparable. Thus, for example, if an Event 2 in a Timeline B is to theright of an Event 1 in a Timeline A, this means that Customer B hadEvent 2 after Customer A had Event 1 with respect to the pinned point oneach timeline.

The graphical user interface 800 may provide an area 802 from whichtimelines and/or journeys may be created, displayed, and/or analyzed innear real-time and from disparate data sources. Information gathered bythe system may be assessed and analyzed through this graphical userinterface 800. Incidences of events based on the selected modelling maybe provided by the system in a timeline area (part of the area 802) ofthe graphical user interface 800. For example, the timeline may show thedistribution of a story over time. The user can focus on a specificperiod by selecting a specific start and end date and the area 802 canbe automatically refreshed by the system based on this new period.

FIG. 9 illustrates an example graphical user interface 900 in accordancewith the present disclosure. The interface 900 provides various tabs 905that show underlying data around the customer accounts (e.g., type ofphone, size of phone display URL, etc.). A notes section 925 is providedthat corresponds to an associated event. Each event may have anassociated notes section in which a user can record thoughts, notes,and/or observations associated with the timeline and/or the event, forexample. Buttons allow a user to skip through the user's notes insequence. The user looks at interesting things in the histories of thecustomers and takes notes about what might be interesting (e.g., may bea root cause) that led to the shared event (i.e., the shared incident).The note taking engine 320 may be used to receive and maintain event andtimeline notes in this manner.

FIG. 10 illustrates an example graphical user interface 1000 inaccordance with the present disclosure. An area 1020 (i.e., a journeycanvas) is provided that allows a user to create or otherwise constructa timeline (or journey) using events (i.e., selected nodes). The usermay select “add events” 1030 and then add an event to the timeline orjourney they are creating. The new journey then be created when the usermakes an “apply” selection (not shown). The user may add an event from adisplayed timeline (e.g., the first timeline or the second timeline) byselecting “from timeline” 1032 or manually selecting an event (e.g.,from a library in storage, or other timeline that is not displayed onthe graphical user interface 1000) by selecting “manual selection” 1035.The journey building engine 330 may be used to create the timeline orjourney in this manner.

By creating a new journey, using selected events from one or morejourneys, a user such as an analyst may be able to determine how manypeople (e.g., customers) had a similar incident or issue, check thedemographics of those people (e.g., customers), and perform other typesof analysis and thus determine a resolution to the incident or issuethat many people (e.g., customers) encountered or may encounter.

FIG. 11 illustrates an example graphical user interface 1100 inaccordance with the present disclosure. In the area 1110 that isprovided to allow a user to create or otherwise construct a timeline (orjourney) using events, a journey 1115 that is being constructed isdisplayed. The journey 1115 comprises events, such as the event 1120.These events may be based on events in a customer timeline, such as oneor more events from the timeline 1130.

FIG. 12 illustrates an example graphical user interface 1200 inaccordance with the present disclosure. In the area 1210 that isprovided to allow a user to create or otherwise construct a timeline (orjourney) using events, a journey 1215 that is being constructed isdisplayed. The journey 1215 comprises events, such as the event 1230 aswell as time information (such as the time information 1220) between theevents. The events and time information may be based on events in one ormore customer's timelines, for example.

FIG. 13 illustrates an example graphical user interface 1300 inaccordance with the present disclosure. In the area 1310 that isprovided to allow a user to create or otherwise construct a timeline (orjourney) using events, a journey 1315 that is being constructed isdisplayed. The journey 1315 comprises events, such as the event 1340which shows various selectable actions 1342 pertaining to data aroundthe event 1340. This actions 1342 may provide data generated from thevarious customer timelines 1320 and 1330.

FIG. 14 shows an exemplary computing environment 1400 in which exampleembodiments and aspects may be implemented. While certain embodimentshave been described herein, the disclosure should be understood ascapable of being applied to a variety of contexts and technologicalfields beyond those explicitly addressed.

Further, when the logical operations described herein are implemented insoftware, the process may execute on any type of computing architectureor platform. For example, referring to FIG. 14 , an example computingdevice upon which embodiments of the invention may be implemented isillustrated. In particular, the system may operate using one or morecomputing devices, such as computing device 1400 shown in FIG. 14 . FIG.14 shows an exemplary computing environment in which example embodimentsand aspects may be implemented. The computing device environment is onlyone example of a suitable computing environment and is not intended tosuggest any limitation as to the scope of use or functionality.

Numerous other general purpose or special purpose computing devicesenvironments or configurations may be used. Examples of well-knowncomputing devices, environments, and/or configurations that may besuitable for use include, but are not limited to, personal computers,server computers, handheld or laptop devices, multiprocessor systems,microprocessor-based systems, network personal computers (PCs),minicomputers, mainframe computers, embedded systems, distributedcomputing environments that include any of the above systems or devices,and the like.

Computer-executable instructions, such as program modules, beingexecuted by a computer may be used. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Distributed computing environments may be used where tasks are performedby remote processing devices that are linked through a communicationsnetwork or other data transmission medium. In a distributed computingenvironment, program modules and other data may be located in both localand remote computer storage media including memory storage devices.

With reference to FIG. 14 , an exemplary system for implementing aspectsdescribed herein includes a computing device, such as computing device1400. In its most basic configuration, computing device 1400 typicallyincludes at least one processing unit 1402 and memory 1404. Depending onthe exact configuration and type of computing device, memory 1404 may bevolatile (such as random-access memory (RAM)), non-volatile (such asread-only memory (ROM), flash memory, etc.), or some combination of thetwo. This most basic configuration is illustrated in FIG. 14 by dashedline 1406.

Computing device 1400 may have additional features/functionality. Forexample, computing device 1400 may include additional storage (removableand/or non-removable) including, but not limited to, magnetic or opticaldisks or tape. Such additional storage is illustrated in FIG. 14 byremovable storage 1408 and non-removable storage 1410.

Computing device 1400 typically includes a variety of computer readablemedia. Computer readable media can be any available media that can beaccessed by the device 1400 and includes both volatile and non-volatilemedia, removable and non-removable media.

Computer storage media include volatile and non-volatile, and removableand non-removable media implemented in any method or technology forstorage of information such as computer readable instructions, datastructures, program modules or other data. Memory 1404, removablestorage 1408, and non-removable storage 1410 are all examples ofcomputer storage media. Computer storage media include, but are notlimited to, RAM, ROM, electrically erasable program read-only memory(EEPROM), flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired information,and which can be accessed by computing device 1400. Any such computerstorage media may be part of computing device 1400.

Computing device 1400 may contain communication connection(s) 1412 thatallow the device to communicate with other devices. Computing device1400 may also have input device(s) 1414 such as a keyboard, mouse, pen,voice input device, touch input device, etc. Output device(s) 1416 suchas a display, speakers, printer, etc. may also be included. All thesedevices are well known in the art and need not be discussed at lengthhere.

In an implementation, a method comprises: identifying an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; determining a cause of the issue; determining an impact of theissue on other customers; and performing escalation management based onthe impact.

Implementations include some or all of the following features. Themethod further comprises retrieving the timeline from storage prior toidentifying the issue. The method further comprises generating thetimeline prior to identifying the issue. The method further comprisesdetermining an opportunity or a risk associated with the issue.Performing escalation management based on the impact comprisesgenerating and outputting a deliverable for escalation management. Thetimeline is based on a journey of the customer. The method furthercomprises analyzing the timeline to identify the issue and determine thecause of the issue. The method further comprises outputting results ofthe analyzing to a graphical user interface. The method furthercomprises monitoring procedural changes provided by the escalationmanagement.

In an implementation, a method comprises: identifying an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; providing the timeline and the issue to a user in a graphicaluser interface of a computing device; receiving notes from the user inthe graphical user interface; annotating the timeline with the notes;and performing escalation management based on the issue.

Implementations include some or all of the following features. Themethod further comprises providing inline collaboration between the userand a subject matter expert (SME) via the computing device and an SMEcomputing device. The method further comprises determining a cause ofthe issue. The method further comprises determining an impact of theissue on other customers. Determining the impact comprises using journeybuilding. The method further comprises retrieving the timeline fromstorage prior to identifying the issue. The method further comprisesgenerating the timeline prior to identifying the issue. The methodfurther comprises determining an opportunity or a risk associated withthe issue. Performing escalation management comprises generating andoutputting a deliverable for escalation management. The timeline isbased on a journey of the customer.

In an implementation, a method comprises: providing a first timeline toa computing device, wherein the first timeline comprises a firstplurality of events; providing a second timeline to the computingdevice, wherein the second timeline comprises a second plurality ofevents; comparing the first timeline with the second timeline todetermine a shared incident; determining a cause of the shared incident;determining a remedial action; and outputting the remedial action.

Implementations include some or all the following features. The firsttimeline is of a first customer, and the second timeline is of a secondcustomer different than the first customer. The method further comprisesreceiving the first timeline and the second timeline from storage.Providing the first timeline and the second timeline comprisesdisplaying the first timeline and the second timeline in a graphicaluser interface of the computing device. Determining the cause of theshared incident comprising determining one or more patterns in the firsttimeline and the second timeline that led to the shared incident. Themethod further comprises analyzing the shared incident with respect toat least one additional timeline. The at least one additional timelineis of an additional customer different than the first customer and thesecond customer.

In an implementation, a method comprises: retrieving data comprising atleast one of an event from a customer timeline, information from acustomer timeline, patterns from customer timelines, events frompatterns of customer timelines, or issues related to patterns ofcustomer timelines; building a journey using the retrieved data; andoutputting the journey.

Implementations include some or all of the following features. Themethod further comprises determining a risk or an opportunity based onthe journey. The method further comprises outputting the risk or theopportunity. The method further comprises determining an impact of thejourney on other customers. The method further comprises performingescalation management based on the journey. The method further comprisesreceiving the data from storage. Building the journey is performed by auser via a graphical user interface. The method further comprises a useradding an event to the journey.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: identify an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; determine a cause of the issue; determine an impact of the issueon other customers; and perform escalation management based on theimpact.

Implementations may include some or all of the following features. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to retrieve thetimeline from storage prior to identifying the issue. The instructionsmay further include instructions that when executed by the at least oneprocessor cause the at least one processor to generate the timelineprior to identifying the issue. The instructions may further includeinstructions that when executed by the at least one processor cause theat least one processor to determine an opportunity or a risk associatedwith the issue. Performing escalation management based on the impactcomprises generating and outputting a deliverable for escalationmanagement. The timeline is based on a journey of the customer. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to analyze thetimeline to identify the issue and determine the cause of the issue. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to outputresults of the analyzing to a graphical user interface. The instructionsmay further include instructions that when executed by the at least oneprocessor cause the at least one processor to monitor procedural changesprovided by the escalation management.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: identify an issue in atimeline of a customer, wherein the timeline comprises a plurality ofevents; provide the timeline and the issue to a user in a graphical userinterface of a computing device; receive notes from the user in thegraphical user interface; annotate the timeline with the notes; andperform escalation management based on the issue.

Implementations may include some or all the following features. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to provideinline collaboration between the user and a subject matter expert (SME)via the computing device and an SME computing device. The instructionsmay further include instructions that when executed by the at least oneprocessor cause the at least one processor to determine a cause of theissue. The instructions may further include instructions that whenexecuted by the at least one processor cause the at least one processorto determine an impact of the issue on other customers. Determining theimpact comprises using journey building. The instructions may furtherinclude instructions that when executed by the at least one processorcause the at least one processor to retrieve the timeline from storageprior to identifying the issue. The instructions may further includeinstructions that when executed by the at least one processor cause theat least one processor to generate the timeline prior to identifying theissue. The instructions may further include instructions that whenexecuted by the at least one processor cause the at least one processorto determine an opportunity or a risk associated with the issue.Performing escalation management comprises generating and outputting adeliverable for escalation management. The timeline is based on ajourney of the customer.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: provide a first timelineto a computing device, wherein the first timeline comprises a firstplurality of events; provide a second timeline to the computing device,wherein the second timeline comprises a second plurality of events;compare the first timeline with the second timeline to determine ashared incident; determine a cause of the shared incident; determine aremedial action; and output the remedial action.

Implementations may include some or all the following features. Thefirst timeline is of a first customer, and the second timeline is of asecond customer different than the first customer. The instructions mayfurther include instructions that when executed by the at least oneprocessor cause the at least one processor to receive the first timelineand the second timeline from storage. Providing the first timeline andthe second timeline comprises displaying the first timeline and thesecond timeline in a graphical user interface of the computing device.Determining the cause of the shared incident comprising determining oneor more patterns in the first timeline and the second timeline that ledto the shared incident. The instructions may further includeinstructions that when executed by the at least one processor cause theat least one processor to analyze the shared incident with respect to atleast one additional timeline. The at least one additional timeline isof an additional customer different than the first customer and thesecond customer.

In an implementation, a system comprises: at least one processor; and amemory storing instructions that when executed by the at least oneprocessor cause the at least one processor to: retrieve data comprisingat least one of an event from a customer timeline, information from acustomer timeline, patterns from customer timelines, events frompatterns of customer timelines, or issues related to patterns ofcustomer timelines; build a journey using the retrieved data; and outputthe journey.

Implementations may include some or all of the following features. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to determine arisk or an opportunity based on the journey. The instructions mayfurther include instructions that when executed by the at least oneprocessor cause the at least one processor to output the risk or theopportunity. The instructions may further include instructions that whenexecuted by the at least one processor cause the at least one processorto determine an impact of the journey on other customers. Theinstructions may further include instructions that when executed by theat least one processor cause the at least one processor to performescalation management based on the journey. The instructions may furtherinclude instructions that when executed by the at least one processorcause the at least one processor to receive the data from storage.Building the journey is performed by a user via a graphical userinterface. The instructions may further include instructions that whenexecuted by the at least one processor cause the at least one processorto add an event to the journey.

In an implementation, a system comprises: an issue identification engineconfigured to identify an issue in a timeline of a customer, wherein thetimeline comprises a plurality of events; a timeline analysis engineconfigured to determine a cause of the issue; an impact determinationengine configured to determine an impact of the issue on othercustomers; and an escalation management engine configured to performescalation management based on the impact.

In an implementation, a system comprises: an issue identification engineconfigured to identify an issue in a timeline of a customer, wherein thetimeline comprises a plurality of events, and to provide the timelineand the issue to a user in a graphical user interface of a computingdevice; a note taking engine configured to receive notes from the userin the graphical user interface; a timeline analysis engine configuredto annotate the timeline with the notes; and an escalation managementengine configured to perform escalation management based on the issue.

In an implementation, a system comprises: a computing device configuredto receive a first timeline, wherein the first timeline comprises afirst plurality of events, and to receive a second timeline, wherein thesecond timeline comprises a second plurality of events; a timelineanalysis engine configured to compare the first timeline with the secondtimeline to determine a shared incident, and to determine a cause of theshared incident; and an escalation management engine configured todetermine a remedial action, and to output the remedial action.

In an implementation, a system comprises: a timeline analysis engineconfigured to retrieve data comprising at least one of an event from acustomer timeline, information from a customer timeline, patterns fromcustomer timelines, events from patterns of customer timelines, orissues related to patterns of customer timelines; and a journey buildingengine configured to build a journey using the retrieved data, and tooutput the journey.

As used herein, the terms “can,” “may,” “optionally,” “can optionally,”and “may optionally” are used interchangeably and are meant to includecases in which the condition occurs as well as cases in which thecondition does not occur.

It should be understood that the various techniques described herein maybe implemented in connection with hardware components or softwarecomponents or, where appropriate, with a combination of both.Illustrative types of hardware components that can be used includeField-Programmable Gate Arrays (FPGAs), Application-specific IntegratedCircuits (ASICs), Application-specific Standard Products (ASSPs),System-on-a-chip systems (SOCs), Complex Programmable Logic Devices(CPLDs), etc. The methods and apparatus of the presently disclosedsubject matter, or certain aspects or portions thereof, may take theform of program code (i.e., instructions) embodied in tangible media,such as floppy diskettes, CD-ROMs, hard drives, or any othermachine-readable storage medium where, when the program code is loadedinto and executed by a machine, such as a computer, the machine becomesan apparatus for practicing the presently disclosed subject matter.

Although exemplary implementations may refer to utilizing aspects of thepresently disclosed subject matter in the context of one or morestand-alone computer systems, the subject matter is not so limited, butrather may be implemented in connection with any computing environment,such as a network or distributed computing environment. Still further,aspects of the presently disclosed subject matter may be implemented inor across a plurality of processing chips or devices, and storage maysimilarly be affected across a plurality of devices. Such devices mightinclude personal computers, network servers, and handheld devices, forexample.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

1. A method of building a journey for journey mining, the methodcomprising: retrieving data of at least one event from a customertimeline; obtaining information from the customer timeline; generatingone or more patterns from the customer timeline; identifying at leastone event of interest from the one or more patterns; identifying one ormore issues related to the event of interest; building the journey usingthe retrieved data to determine an impact on other customers based onthe one or more identified issues; and analyzing the journey todetermine whether one of either or both of the event or the identifiedissue happened differently than what was initially anticipated whencontrasted with other previously analyzed journeys.
 2. The method ofclaim 1, further comprising determining a risk or an opportunity basedon the journey.
 3. The method of claim 2, further comprising performingan escalation management analysis on the risk or the opportunity basedon the journey.
 4. The method of claim 1, further comprising receivingthe data from a computer-readable storage medium.
 5. The method of claim1, wherein building the journey includes the interaction of a user witha graphical user interface in communication with a computer program. 6.The method of claim 1, further comprising a user adding a new event tothe customer timeline.
 7. The method of claim 1, wherein analyzing thejourney includes mining the journey.